#include <cstdio>
#include <cstdlib>
int getexp(int &exp)
{ //读取指数
    char c;
    char expon[6];
    int elen = 0;
    while ((c = getchar()) == '0')
        ;
    if ('\n' == c)
    {
        exp = 0;
        return 0;
    }
    expon[elen++] = c;
    while ((c = getchar()) != '\n')
    {
        expon[elen] = c;
    }
    exp = atoi(expon);
    return 0;
}
int main()
{
    char valid[10000];
    char out[10001] = {0}; //用于输出
    char c;
    if ((c = getchar()) == '-')
    { //判断实数的正负，先输出
        putchar('-');
    }
    valid[0] = getchar();
    getchar(); //用于跳过有效数字中的.号
    int vlen = 1;
    while ((c = getchar()) != 'E')
    { //读取有效数字
        valid[vlen++] = c;
    }
    int remainder;
    int exp;
    int i;
    if ((c = getchar()) == '+')
    { //指数为正的情况
        getexp(exp);
        if (0 == exp)
            goto exception;
        if (vlen < exp + 1)
        {
            printf("%s", valid);
            remainder = exp - vlen + 1;
            for (i = 0; i < remainder; ++i)
            {
                putchar('0');
            }
        }
        else if (vlen == exp + 1)
        {
            printf("%s", valid);
        }
        else
        {
            for (i = 0; i < exp + 1; ++i)
            {
                putchar(valid[i]);
            }
            putchar('.');
            for (; i < vlen; ++i)
            {
                putchar(valid[i]);
            }
        }
    }
    else
    { //指数为负的情况
        getexp(exp);
        if (0 == exp)
            goto exception;
        printf("0.");
        for (i = 1; i < exp; ++i)
        {
            putchar('0');
        }
        printf("%s", valid);
    }
    return 0;
exception://指数为零的情况
    putchar(valid[0]);
    putchar('.');
    for (i = 1; i < vlen; ++i)
        putchar(valid[i]);
    putchar('\n');
    return 0;
}